const { Controller } = require("egg");

class RoleController extends Controller {
    /**
     * 获取角色列表
     */
    async index() {
        let res = await this.service.role.readList();
        this.ctx.body = {
            code: 200,
            data: res,
            message: "请求成功",
        };
    }

    /**
     * 添加角色
     */
    async create() {
        // 解构参数
        const { name } = this.ctx.request.body;
        // 检查名字是否存在
        let res = await this.service.role.findRoleByName(name);
        // 名字不能重复
        if (res) {
            this.ctx.body = {
                code: 403,
                message: "该角色名已存在",
            };
            return;
        }
        // 创建该角色
        res = await this.service.role.create(name);
        // 判断是否插入成功
        if (res.affectedRows !== 1) {
            this.ctx.body = {
                code: 500,
                message: "角色添加失败，请稍后再试！",
            };
            return;
        }
        // 添加成功
        this.ctx.body = {
            code: 201,
            message: "请求成功",
        };
    }
}

module.exports = RoleController;
